<!-- Copyright (c) 2022 渝州大数据实验室
 *
 * Lanius is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *
 *     http://license.coscl.org.cn/MulanPSL2
 *
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 -->
<!-- 
* @desc:Header的左侧组件
* @fileName:HeaderLeft.vue
* @author:zoujunjie@yzbdl.ac.cn
* @date:2022-4-7
!-->
<template>
  <el-breadcrumb :separator-icon="ArrowRight">
    <el-breadcrumb-item v-for="item in breadcrumbList" :key="item.key">{{
      item.text
    }}</el-breadcrumb-item>
  </el-breadcrumb>
</template>

<script setup lang="ts">
import { useRoute } from "vue-router";
import { computed, ComputedRef } from "vue";
import { ArrowRight } from "@element-plus/icons-vue";
import { getBreadcrumbByPath, IMenuItem } from "@/common/menu";

const breadcrumbList: ComputedRef<IMenuItem[]> = computed(() => {
  let route = useRoute();
  let list = getBreadcrumbByPath(route.path);
  if (list && list.length > 0) {
    return list;
  }
  if (route.name) {
    return [{ text: route.name, key: route.name }] as IMenuItem[];
  }
  return [];
});
</script>
